<?php

declare(strict_types=1);

namespace Zlf\AppValidate\Rule;

use Zlf\Unit\Is;

class RequiredValidate extends RuleAbstract
{
    /**
     * 默认错误消息
     * 当输入值为空时返回的错误信息。
     * @var string
     */
    protected $_error = '{label}不能为空';

    /**
     * 验证输入值是否为空
     * 使用 Is::notEmpty 方法检查输入值是否非空。
     * @param mixed $value 输入值
     * @param string $label 验证名
     * @return bool 验证结果
     */
    public function validate($value, string $label = ''): bool
    {
        if (Is::notEmpty($value)) {
            $this->_value = $value;
            return true;
        }
        $this->addError($this->_error, $label);
        return false;
    }
}
